Subdomain TakeOver
🔎 ¿Qué es?
La vulnerabilidad Subdomain TakeOver ocurre cuando un subdominio apunta a un servicio externo (ej. AWS S3, GitHub Pages, Azure, Heroku, etc.) que ya no está en uso, pero la referencia DNS sigue activa.
👉 Un atacante puede reclamar ese recurso y controlar el subdominio.
⚙️ Flujo de la vulnerabilidad
[DNS del dominio] --> [CNAME a servicio externo]
|
| (el recurso externo ya no existe)
↓
❌ Vacío / No Configurado
↓
🔓 Atacante lo reclama
↓
✅ Controla el subdominio
📍 Ejemplo real
-
blog.empresa.com→ CNAME →empresa.github.io -
La empresa borra el repositorio de GitHub Pages.
-
El DNS sigue apuntando al servicio.
-
Un atacante crea un repositorio con ese nombre.
-
Ahora controla blog.empresa.com.
🚨 Riesgos
-
Phishing (páginas falsas en subdominios legítimos).
-
Defacement (alteración de imagen de marca).
-
Exfiltración de datos (cookies, formularios).
-
Escalamiento interno (si se usa en entornos corporativos).
🛠️ Cómo detectarlo
-
Revisar DNS con herramientas:
-
dig,nslookup -
subfinder,assetfinder,amass
-
-
Escaneo masivo de subdominios
-
Buscar respuestas como:
NXDOMAIN NoSuchBucket There isn't a GitHub Pages site here.
-
-
Herramientas especializadas:
-
subjack -
nuclei(templates de takeover)
-
🛡️ Medidas de prevención
✅ Eliminar registros DNS huérfanos.
✅ Usar monitorización continua de subdominios.
✅ Implementar políticas de asset inventory.
✅ Configurar alertas de seguridad en proveedores externos.
✅ Aplicar DNS as Code (gestión centralizada de registros).
🎨 Resumen visual
Subdomain TakeOver
├── Causa: DNS → recurso inexistente
├── Impacto: phishing, defacement, robo de datos
├── Detección: escaneo DNS + herramientas takeover
└── Prevención: limpieza DNS + monitoreo continuo